Skip to content

Conversation

@ngholiza
Copy link
Collaborator

@ngholiza Navid Gholizadeh (ngholiza) commented Sep 25, 2026 •

Summary

Admin Teams notifications were accepted by the webhook (HTTP 202) but no card appeared in Teams. ADMIN_TEAMS_WEBHOOK_URL is a Teams Workflows webhook built from the "Send webhook alerts to a channel" template. That template posts one card per entry in attachments, and the API was sending a bare Adaptive Card, so the flow ran but had nothing to post.

  • Admin notifications now send the card wrapped in a Teams message envelope: {"type": "message", "attachments": [{"contentType": "application/vnd.microsoft.card.adaptive", "contentUrl": null, "content": <card>}]}.
  • TEAMS_WEBHOOK_FORMAT=card keeps sending a bare card, for classic flows that post the request body itself as the card.
  • Only the Digital Twin platform's admin notifications (api/platform_notifications.py) change.
  • The setup guide and secrets example now describe the Workflows format.

Test plan

  • Unit tests for the envelope shape and the card override; unit suite 155 passed.
  • Notification integration suite 23/23 on a disposable Postgres 15, with the Teams payload checks updated.
  • Reviewed by Codex; final verdict approve.
  • After deploying, confirm a test card appears in the General channel.

🤖 Generated with Claude Code

The admin notification webhook is a Teams "Send webhook alerts to a
channel" workflow, which posts one card per entry in "attachments". A bare
Adaptive Card has no attachments, so runs succeeded without posting.
Admin notifications now wrap the card in a message envelope;
TEAMS_WEBHOOK_FORMAT=card keeps the bare card for classic flows. The older
recipe-proposal and retrain alert senders are unchanged.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign in to join this conversation on GitHub.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant